From: Florian Müllner Date: Wed, 10 Mar 2010 15:54:00 +0000 (+0100) Subject: [Overview] Make menu sizes relative to workspace area X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~10300 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=22bf4c8a93337a2ad7fa9d6ce33346f9edf889fd;p=gnome-shell.git [Overview] Make menu sizes relative to workspace area Instead of setting a fixed size in the CSS which only works well with a limited range of screen resolutions, assign a relative size in the code. While this takes away some flexibility from theme authors, it is in line with most elements in the overview (workspaces area, dash). Also expose the menu panes vertical alignment, so that more-apps aligns to the workspaces area's top and more-docs to the bottom. https://bugzilla.gnome.org/show_bug.cgi?id=610872 --- diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css index 3eb74329c..102ec8fd0 100644 --- a/data/theme/gnome-shell.css +++ b/data/theme/gnome-shell.css @@ -456,7 +456,6 @@ StTooltip { background-color: #111111; border: 2px solid #868686; color: #ffffff; - height: 400px; } .all-app-controls-panel { diff --git a/js/ui/dash.js b/js/ui/dash.js index 3d2d7e928..e36bd2d95 100644 --- a/js/ui/dash.js +++ b/js/ui/dash.js @@ -142,7 +142,7 @@ function createPaneForDetails(dash, display) { detailPane.destroyContent(); } })); - dash._addPane(detailPane); + dash._addPane(detailPane, St.Align.START); } if (index >= 0) { @@ -857,7 +857,7 @@ Dash.prototype = { this._appsSection.header.moreLink.connect('activated', Lang.bind(this, function (link) { if (this._allApps == null) { this._allApps = new AppDisplay.AllAppDisplay(); - this._addPane(this._allApps); + this._addPane(this._allApps, St.Align.START); link.setPane(this._allApps); } })); @@ -885,7 +885,7 @@ Dash.prototype = { if (this._moreDocsPane == null) { this._moreDocsPane = new ResultPane(this); this._moreDocsPane.packResults(DOCS); - this._addPane(this._moreDocsPane); + this._addPane(this._moreDocsPane, St.Align.END); link.setPane(this._moreDocsPane); } })); @@ -964,7 +964,7 @@ Dash.prototype = { this._activePane.close(); }, - _addPane: function(pane) { + _addPane: function(pane, align) { pane.connect('open-state-changed', Lang.bind(this, function (pane, isOpen) { if (isOpen) { if (pane != this._activePane && this._activePane != null) { @@ -975,7 +975,7 @@ Dash.prototype = { this._activePane = null; } })); - Main.overview.addPane(pane); + Main.overview.addPane(pane, align); } }; Signals.addSignalMethods(Dash.prototype); diff --git a/js/ui/overview.js b/js/ui/overview.js index bc0304f13..cf3b574bc 100644 --- a/js/ui/overview.js +++ b/js/ui/overview.js @@ -357,8 +357,11 @@ Overview.prototype = { }, - addPane: function (pane) { - this._paneContainer.add(pane.actor, { expand: true, y_fill: false, y_align: St.Align.START }); + addPane: function (pane, align) { + pane.actor.height = .9 * this._workspacesHeight; + this._paneContainer.add(pane.actor, { expand: true, + y_fill: false, + y_align: align }); // When a pane is displayed, we raise the transparent background to the top // and connect to button-release-event on it, then raise the pane above that. // The idea here is that clicking anywhere outside the pane should close it.